package com.cnblogs.leizia.crm.workbench.dao;

import com.cnblogs.leizia.crm.workbench.domain.Tran;
import com.cnblogs.leizia.crm.workbench.domain.TranHistory;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author leizi
 * @create 2021-04-04 13:51
 */
public interface TranDao {
    /**
     * 创建交易历史记录
     *
     * @param tranHistory
     */
    void saveTranHistory(TranHistory tranHistory);

    /**
     * 保存交易
     *
     * @param tran
     * @return
     */
    int saveTran(Tran tran);

    /**
     * 交易详情
     *
     * @param tranId
     * @return
     */
    Tran detail(String tranId);

    /**
     * 根据交易id获取交易历史
     *
     * @param tranId
     * @return
     */
    List<TranHistory> tranHistoryList(@Param("tranId") String tranId);

    /**
     * 修改交易信息
     *
     * @param tran
     */
    void tranChangeStage(Tran tran);

    /**
     * 根据id获取交易信息
     *
     * @param id
     * @return
     */
    Tran getTranById(String id);

    /**
     * 获取交易统计图表
     *
     * @return
     */
    List<Map<String, Integer>> getChartList();

    /**
     * 获取总数量
     *
     * @return
     */
    int getTotal();

}
